home *** CD-ROM | disk | FTP | other *** search
- {---------------------------------------------------------------------
- #
- # Apple Macintosh Developer Technical Support
- #
- # MultiFinder-Aware Simple TextEdit Sample Application
- #
- # OOPTESample
- #
- # UDocument.inc1.p - Pascal Source
- #
- # Copyright © 1988, 1989 Apple Computer, Inc.
- # All rights reserved.
- #
- # Versions:
- # 1.00 04/89
- # 1.10 02/90
- # 1.11 10/92
- #
- # Components:
- # BuildOOPTESample February 1, 1990
- # MTESample.p February 1, 1990
- # OOPTESample.make February 1, 1990
- # TECommon.h February 1, 1990
- # TESampleGlue.a February 1, 1990
- # TESample.r February 1, 1990
- # TMLRules.make February 1, 1990
- # UApplication.p February 1, 1990
- # UApplication.inc1.p February 1, 1990
- # UDocument.p February 1, 1990
- # UDocument.inc1.p February 1, 1990
- # UTEDocument.p February 1, 1990
- # UTEDocument.inc1.p February 1, 1990
- # UTESample.p February 1, 1990
- # UTESample.inc1.p February 1, 1990
- #
- ---------------------------------------------------------------------}
-
- (********************************************************************************************)
- (* T D o c u m e n t *)
- (********************************************************************************************)
-
- {$S Initialize}
- {-----------------------------------+
- | IDocument |
- +-----------------------------------}
- PROCEDURE TDocument.IDocument(resID: integer);
- VAR
- aWindow : WindowPtr;
- BEGIN
- aWindow := GetNewWindow(resID,NIL,WindowPtr(-1));
- fDocWindow := aWindow;
- SetPort(aWindow);
- END;
-
- {$S Main}
- {-----------------------------------+
- | Free |
- +-----------------------------------}
- PROCEDURE TDocument.Free; OVERRIDE;
- BEGIN
- DisposeWindow(fDocWindow);
- INHERITED Free;
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoZoom |
- +-----------------------------------}
- PROCEDURE TDocument.DoZoom(partCode: integer);
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoGrow |
- +-----------------------------------}
- PROCEDURE TDocument.DoGrow(theEvent: EventRecord);
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoContent |
- +-----------------------------------}
- PROCEDURE TDocument.DoContent(theEvent: EventRecord);
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoKeyDown |
- +-----------------------------------}
- PROCEDURE TDocument.DoKeyDown(theEvent: EventRecord);
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoActivate |
- +-----------------------------------}
- PROCEDURE TDocument.DoActivate(becomingActive: Boolean);
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoUpdate |
- +-----------------------------------}
- PROCEDURE TDocument.DoUpdate;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoOpen |
- +-----------------------------------}
- PROCEDURE TDocument.DoOpen;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoClose |
- +-----------------------------------}
- PROCEDURE TDocument.DoClose; { By default, we just delete ourself. }
- BEGIN
- SELF.Free;
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoSave |
- +-----------------------------------}
- PROCEDURE TDocument.DoSave;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoSaveAs |
- +-----------------------------------}
- PROCEDURE TDocument.DoSaveAs;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoRevert |
- +-----------------------------------}
- PROCEDURE TDocument.DoRevert;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoPrint |
- +-----------------------------------}
- PROCEDURE TDocument.DoPrint;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoUndo |
- +-----------------------------------}
- PROCEDURE TDocument.DoUndo;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoCut |
- +-----------------------------------}
- PROCEDURE TDocument.DoCut;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoCopy |
- +-----------------------------------}
- PROCEDURE TDocument.DoCopy;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoPaste |
- +-----------------------------------}
- PROCEDURE TDocument.DoPaste;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoClear |
- +-----------------------------------}
- PROCEDURE TDocument.DoClear;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoSelectAll |
- +-----------------------------------}
- PROCEDURE TDocument.DoSelectAll;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | DoIdle |
- +-----------------------------------}
- PROCEDURE TDocument.DoIdle;
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | CalcIdle |
- +-----------------------------------}
- FUNCTION TDocument.CalcIdle:Longint;
- BEGIN
- CalcIdle := $7FFFFFFF;
- END;
-
- {$S Main}
- {-----------------------------------+
- | AdjustCursor |
- +-----------------------------------}
- PROCEDURE TDocument.AdjustCursor(where: Point); { where is in local coords. }
- BEGIN
- END;
-
- {$S Main}
- {-----------------------------------+
- | HaveUndo |
- +-----------------------------------}
- FUNCTION TDocument.HaveUndo: Boolean;
- BEGIN
- HaveUndo := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | HaveSelection |
- +-----------------------------------}
- FUNCTION TDocument.HaveSelection: Boolean;
- BEGIN
- HaveSelection := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | HavePaste |
- +-----------------------------------}
- FUNCTION TDocument.HavePaste: Boolean;
- BEGIN
- HavePaste := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | CanClose |
- +-----------------------------------}
- FUNCTION TDocument.CanClose: Boolean;
- BEGIN
- CanClose := TRUE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | CanSave |
- +-----------------------------------}
- FUNCTION TDocument.CanSave: Boolean;
- BEGIN
- CanSave := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | CanSaveAs |
- +-----------------------------------}
- FUNCTION TDocument.CanSaveAs: Boolean;
- BEGIN
- CanSaveAs := TRUE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | CanRevert |
- +-----------------------------------}
- FUNCTION TDocument.CanRevert: Boolean;
- BEGIN
- CanRevert := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | CanPrint |
- +-----------------------------------}
- FUNCTION TDocument.CanPrint: Boolean;
- BEGIN
- CanPrint := FALSE;
- END;
-
- {$S Main}
- {-----------------------------------+
- | GetDocWindow |
- +-----------------------------------}
- FUNCTION TDocument.GetDocWindow: WindowPtr;
- BEGIN
- GetDocWindow := fDocWindow;
- END;
-
- (********************************************************************************************)
- (* T D o c u m e n t L i n k *)
- (********************************************************************************************)
-
- {$S Initialize}
- {-----------------------------------+
- | IDocumentLink |
- +-----------------------------------}
- PROCEDURE TDocumentLink.IDocumentLink(n:TDocumentLink; v:TDocument);
- BEGIN
- fNext := n;
- fDoc := v;
- END;
-
- {$S Main}
- {-----------------------------------+
- | GetNext |
- +-----------------------------------}
- FUNCTION TDocumentLink.GetNext:TDocumentLink;
- BEGIN
- GetNext := fNext;
- END;
-
- {$S Main}
- {-----------------------------------+
- | GetDoc |
- +-----------------------------------}
- FUNCTION TDocumentLink.GetDoc: TDocument;
- BEGIN
- GetDoc := fDoc;
- END;
-
- {$S Main}
- {-----------------------------------+
- | SetNext |
- +-----------------------------------}
- PROCEDURE TDocumentLink.SetNext(aLink:TDocumentLink);
- BEGIN
- fNext := aLink;
- END;
-
- {$S Main}
- {-----------------------------------+
- | SetDoc |
- +-----------------------------------}
- PROCEDURE TDocumentLink.SetDoc(aDoc:TDocument);
- BEGIN
- fDoc := aDoc;
- END;
-
- (********************************************************************************************)
- (* T D o c u m e n t L i s t *)
- (********************************************************************************************)
-
- {$S Initialize}
- {-----------------------------------+
- | IDocumentList |
- +-----------------------------------}
- PROCEDURE TDocumentList.IDocumentList;
- BEGIN
- fDocList := NIL;
- fNumDocs := 0;
- END;
-
- {$S Initialize}
- {-----------------------------------+
- | AddDoc |
- +-----------------------------------}
- PROCEDURE TDocumentList.AddDoc(doc:TDocument);
- VAR
- temp: TDocumentLink;
- BEGIN
- NEW(temp);
- temp.IDocumentLink(fDocList,doc);
- fDocList := temp;
- fNumDocs := fNumDocs+1;
- END;
-
- {$S Main}
- {-----------------------------------+
- | RemoveDoc |
- +-----------------------------------}
- PROCEDURE TDocumentList.RemoveDoc(doc:TDocument);
- VAR
- temp, last: TDocumentLink;
- BEGIN
- last := NIL;
- temp := fDocList;
- WHILE (temp <> NIL) DO BEGIN
- IF (temp.GetDoc = doc) THEN BEGIN
- IF (last = NIL) THEN BEGIN
- fDocList := temp.GetNext;
- END ELSE BEGIN
- last.SetNext(temp.GetNext);
- END;
- temp.Free;
- fNumDocs := fNumDocs - 1;
- EXIT(RemoveDoc);
- END ELSE BEGIN
- last := temp;
- END;
- temp := temp.GetNext;
- END;
- END;
-
- {$S Main}
- {-----------------------------------+
- | FindDoc |
- +-----------------------------------}
- FUNCTION TDocumentList.FindDoc(window:WindowPtr): TDocument;
- VAR
- temp: TDocumentLink;
- tDoc: TDocument;
- BEGIN
- FindDoc := NIL;
- temp := fDocList;
- WHILE (temp <> NIL) DO BEGIN
- tDoc := temp.Getdoc;
- IF (tDoc.GetDocWindow = window) THEN
- FindDoc := tDoc;
- temp := temp.GetNext;
- END;
- END;
-
- {$S Main}
- {-----------------------------------+
- | NumDocs |
- +-----------------------------------}
- FUNCTION TDocumentList.NumDocs:integer;
- BEGIN
- NumDocs := fNumDocs;
- END;
-